.category {
  background-color: #f8f8f8;
  min-height: 100vh;
}

.category-header {
  background: linear-gradient(135deg, #00AF82 0%, #00C896 100%);
  padding: 40rpx 30rpx;
  color: white;
}

.category-info {
  display: flex;
  align-items: center;
  gap: 20rpx;
}

.category-icon {
  font-size: 60rpx;
  width: 80rpx;
  height: 80rpx;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}

.category-text {
  flex: 1;
}

.category-title {
  font-size: 36rpx;
  font-weight: bold;
  display: block;
  margin-bottom: 8rpx;
}

.category-desc {
  font-size: 28rpx;
  opacity: 0.9;
  display: block;
}

.product-list {
  padding: 20rpx;
}

.product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20rpx;
}

.product-card {
  background: white;
  border-radius: 16rpx;
  overflow: hidden;
  box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease;
}

.product-card:active {
  transform: scale(0.98);
}

.product-tags {
  padding: 16rpx;
  display: flex;
  flex-direction: column;
  gap: 8rpx;
}

.product-tag {
  background: linear-gradient(135deg, #FF6B6B 0%, #FF8E8E 100%);
  color: white;
  font-size: 20rpx;
  padding: 4rpx 12rpx;
  border-radius: 12rpx;
  align-self: flex-start;
}

.product-image {
  width: 100%;
  height: 200rpx;
  background-color: #f0f0f0;
}

.product-info {
  padding: 16rpx;
}

.product-title {
  font-size: 28rpx;
  font-weight: 500;
  color: #333;
  line-height: 1.4;
  margin-bottom: 12rpx;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-price {
  display: flex;
  align-items: center;
  gap: 12rpx;
  margin-bottom: 12rpx;
}

.current-price {
  font-size: 32rpx;
  font-weight: bold;
  color: #FF6B6B;
}

.original-price {
  font-size: 24rpx;
  color: #999;
  text-decoration: line-through;
}

.saved-price {
  font-size: 22rpx;
  color: #FF9500;
  background: #FFF3E0;
  padding: 2rpx 8rpx;
  border-radius: 8rpx;
}

.product-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.hospital-name {
  font-size: 24rpx;
  color: #666;
  flex: 1;
}

.rating {
  font-size: 24rpx;
  color: #FF9500;
}
